package com.exam.api.modules.metadata.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
* 元数据表
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(title = "TblMetadata对象", description="元数据表")
public class TblMetadataVO implements Serializable {

    /**
    * 主键：元数据id
    */
    @Schema(description = "元数据id")
    private Long metadataId;

    /**
    * 元数据Code
    */
    @Schema(description = "元数据Code")
    @Length(max= 30,message="编码长度不能超过30")
    private String metadataCode;
    /**
    * 元数据
    */
    @Schema(description = "元数据")
    private Object metadata;
    /**
    * 检查登录类型 详见 CheckLogin
    */
    @Schema(description = "检查登录类型 详见 CheckLogin")
    @Length(max= 50,message="编码长度不能超过50")
    private String checkLogin;
    /**
    * 备注
    */
    @Schema(description = "备注")
    @Length(max= 50,message="编码长度不能超过50")
    private String comment;
    /**
    * 逻辑删除
    */
    @Schema(description = "逻辑删除")
    private Integer isDelete;
    /**
    * 更新人id
    */
    @Schema(description = "更新人id")
    private Long updateUserId;
    /**
    * 更新时间
    */
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
    /**
    * 新增人id
    */
    @Schema(description = "新增人id")
    private Long createUserId;
    /**
    * 创建时间
    */
    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Serial
    private static final long serialVersionUID=1L;
}
